#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <numeric>
#include <vector>
#include <iterator>
#include <functional>
#include <boost/bind.hpp>
#include <boost/timer.hpp>
#include <boost/shared_ptr.hpp>

using namespace std;

int main(int atrgc, char** argv)
{
	float        f;
	double       d;
	long double  ld;
	long long    ll;

	cout<<"float: "<<sizeof(f)<<endl
	    <<"double: "<<sizeof(d)<<endl
	    <<"long double: "<<sizeof(ld)<<endl;

	cout<<"long long: "<<sizeof(ld)<<endl;
	cout<<"long: "<<sizeof(long)<<endl;
	cout<<"int: "<<sizeof(int)<<endl;
	cout<<"short: "<<sizeof(short)<<endl;
	cout<<"char: "<<sizeof(char)<<endl;

	void* p;
	cout<<"void*: "<<sizeof(p)<<endl;
	cout<<"int*: "<<sizeof(int *)<<endl;

	cout<<numeric_limits<long double>::max()<<endl;
	cout<<numeric_limits<long double>::min()<<endl;
	cout<<numeric_limits<long long>::max()<<endl;
	cout<<numeric_limits<long long>::min()<<endl;

	long long lll = numeric_limits<long long>::max();
	int iii = numeric_limits<int>::max();
	unsigned short us = numeric_limits<unsigned short>::max();
	float fff = numeric_limits<float>::max();
        boost::timer Time;
	for(int i=0;i<fff;++i)
		;
	cout<<"TIME: "<<Time.elapsed()<<endl;

	return 0;
}
